home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 7
/
FM Towns Free Software Collection 7.iso
/
taropyon
/
hewin
/
ccisrc
/
dcntool.cci
< prev
next >
Wrap
Text File
|
1993-11-30
|
3KB
|
118 lines
/*************************************************************************
* "dcntool.cci" : DOS コンソール用ツール
*************************************************************************/
int _dcn_copy( char *dcn )
{
int ret;
char *fdl;
char *btn;
int srcDrv, dstDrv;
char srcDir[128], tmp[128], dstPn[128];
srcDrv = FS_getdrv(); /* カレントドライブ・ディレクトリ保存 */
FS_getdir( srcDir );
if ( (fdl = FDL_open(0)) == NULL )
return (ERR);
SYL_puts( C_HGREEN, "カレントディレクトリ上のファイルをすべて複写します。複写先に移動してください。");
FDL_set_title( fdl, "FILE COPY : 複写先指定");
FDL_set_wildcard( fdl, "*.*");
ret = FDL_start(fdl);
dstDrv = FDL_get_drv(fdl);
strcpy( tmp, FDL_get_whare(fdl) );
sprintf( dstPn, "%c:/%s", dstDrv + 'A', tmp );
FDL_close(fdl);
if ( ret != NORMAL )
return (DCNCMD_PROMPT);
if ( srcDrv == dstDrv && FS_cmpfnam( srcDir, tmp) == 0 )
{
DLG_tmpMsgTime( DLGPOS_MOS_SET_CENTER, DLGPOS_MOS_SET_CENTER,
C_MBLACK, C_DLGBASE, COLMIX(C_ERROR,C_GRAY),
AplErrMsgTime, " 複写元と複写先が同じです。 ");
return (DCNCMD_PROMPT);
}
btn = MNU_allocBtn( 2 );
MNU_setBtn( btn, 0, '\r' , KA_EXEC , 1, "COPY : [実行]" );
MNU_setBtn( btn, 1, '\x1B', KA_CANCEL, 2, "CANECEL : [取消]" );
ret = MNU_selectBtn( DLGPOS_CENTER_OF_SCN, DLGPOS_CENTER_OF_SCN,
C_MBLACK, C_DLGBASE, COLMIX(C_WARNNING,C_GRAY),
SELBTN_ATT_LEFT, 2, btn,
"複写元 : %c:/%s \n複写先 : %s \n 複写を行いますか? ",
srcDrv + 'A', srcDir, dstPn );
MNU_freeBtn( btn );
if ( ret != 1 )
return (DCNCMD_PROMPT);
/* 複写開始 */
FS_chdrv( srcDrv );
sprintf( tmp, "/%s", srcDir );
FS_chdir( tmp );
FM_fcopy( "*.*", 0x16, AFFCOPY_OVERWRITE_CHECK, dstPn, "" );
return (DCNCMD_PROMPT);
}
int _dcn_delete( char *dcn )
{
int i, ret;
UINT cf;
char *fn;
char *btn;
char *fdl;
if ( (fdl = FDL_open((FDL_MODE_MULTI|FDL_MODE_BIT_DIRIGN|FDL_MODE_BIT_SIDEWORK))) == NULL )
return (ERR);
FDL_set_title( fdl, "FILE DELETE");
FDL_set_wildcard( fdl, "*.*");
SYL_puts(C_HGREEN,"削除するファイルを指定してください。");
ret = FDL_start(fdl);
if ( ret != NORMAL )
{
SYL_clear();
FDL_close(fdl);
return (DCNCMD_PROMPT);
}
SYL_clear();
i = 0;
while ( FDL_getMarkFile(fdl, i) != NULL )
++i;
if ( i == 0 )
{
FDL_close(fdl);
DLG_tmpMsgTime( DLGPOS_MOS_SET_CENTER, DLGPOS_MOS_SET_CENTER,
C_MBLACK, C_DLGBASE, COLMIX(C_ERROR,C_GRAY),
AplErrMsgTime, " ファイル名が指定されていません。 " );
return (DCNCMD_PROMPT);
}
btn = MNU_allocBtn( 2 );
MNU_setBtn( btn, 0, '\r' , KA_EXEC , 1, "DELETE : [実行]" );
MNU_setBtn( btn, 1, '\x1B', KA_CANCEL, 2, "CANECEL : [取消]" );
ret = MNU_selectBtn( DLGPOS_CENTER_OF_SCN, DLGPOS_CENTER_OF_SCN,
C_MBLACK, C_DLGBASE, COLMIX(C_WARNNING,C_GRAY), SELBTN_ATT_LEFT, 2, btn,
" %d 個のファイルが指定されています。 \n 削除しますか? ",
i );
MNU_freeBtn( btn );
if ( ret != 1 )
{
FDL_close(fdl);
return (DCNCMD_PROMPT);
}
i = 0;
while ( (fn = FDL_getMarkFile(fdl, i)) != NULL )
{
SYL_puts( C_HGREEN, "DELETE : %s", fn );
FS_remove( fn );
++i;
}
FDL_close(fdl);
return (DCNCMD_PROMPT);
}